dxp-ux

(0 reviews)

[POST] create product (TMF 637)

This operation allows to resend activation link in cases when the URL has expired, or the customer has not received it.

URL
https://[localhost]:[port]/dxp-ux/v1/{businessId}/product
URL PARAMS
nametypedescriptionrequired
businessIdstring2 letter ISO 3166 country code (TT, BB, JM, PA, PR etc.) identifying the business unit.Y(PA)
Headers
nametypedescriptionrequired (mandatory-Y, optional-N, Not applicable- N/A)
client_idstringThe client_id identifying the channel. Minimum characters: 5Y(PA)
client_secretstringPassword associated with the client_id. Minimum characters: 5Y(PA)
X-Correlation-IDstringIdentifier that correlates HTTP request between a client and server. Any identification model (UUDI, checksum, etc.) can be used, as long as it is a unique value to differentiate a transaction.Y(PA)
Data Model - Request
nametypedescriptionrequired (mandatory-Y, optional-N, Not applicable- N/A)
productSpecificationobjectA ProductSpecification is a detailed description of object made available externally in the form of a ProductOffering to customers.Y(PA)
productSpecification.idstringUnique identifier of the productY(PA)
@baseTypestringWhen sub-classing, this defines the super-class
Note for PA Bango usecase: This value is "product"
Y(PA)
@typestringWhen sub-classing, this defines the sub-class entity name
Note for PA Bango usecase: This value is "OTT"
Y(PA)
@referredTypestringtarget OTT or streaming
Note for PA Bango usecase (for DISNEY OTT): This value is "DISNEY"
Y(PA)
billingAccountobjectBillingAccount reference. A BillingAccount is a detailed description of a bill structure.Y(PA)
billingAccount.idstringUnique identifier of the billing accountY(PA)
billingAccount.contact[]arrayContact details of the billingAccountY(PA)
billingAccount.contact[].contactTypestringcontactType of billingAccountN(PA)
billingAccount.contact[].contactMedium[]arrayMedium of contact for billingAccountY(PA)
billingAccount.contact[].contactMedium[].characteristicobjectCharacteristics of the billingAccount contactMediumY(PA)
billingAccount.contact[].contactMedium[].characteristic.emailAddressstringemail Address to resend the activation linkY(PA)
billingAccount.'@baseType'stringWhen sub-classing, this defines the super-classN(PA)
billingAccount.'@type'stringWhen sub-classing, this defines the sub-class entity name for billingAccountN(PA)
billingAccount.contact[] subResource request and response -Data Model
fieldvaluedescriptionrequired (mandatory-Y, optional-N, Not applicable- N/A)examples
contactTypestringcontactType of billingAccountN(PA)PA: "contactType": "primary"
contactMedium[]arrayMedium of contact for billingAccountY(PA)PA:
"contactMedium": [
{
"characteristic": {
"emailAddress": "abc@gmail.com"
}
}
]
contactMedium[].characteristicobjectCharacteristics of the billingAccount contactMediumY(PA)PA:"characteristic": {
"emailAddress": "donipudi-sai.vaishnavi@capgemini.com"
}
contactMedium[].characteristic.emailAddressstringemail Address of the billingAccountY(PA)PA:
"emailAddress": "abc@gmail.com"
Data Model Response
nametypedescriptionrequired (mandatory-Y, optional-N, Not applicable- N/A)
idstringid of the entitlement/productY(PA)
statusstringstatus of the product
Note for PA Bango usecase: This value "created"
Y(PA)
productSpecificationobjectA ProductSpecification is a detailed description of object made available externally in the form of a ProductOffering to customers.Y(PA)
productSpecification.idstringUnique identifier of the productY(PA)
@baseTypestringWhen sub-classing, this defines the super-class
Note for PA Bango usecase: This value is "product"
Y(PA)
@typestringWhen sub-classing, this defines the sub-class entity name
Note for PA Bango usecase: This value is "OTT"
Y(PA)
@referredTypestringtarget OTT or streaming
Note for PA Bango usecase (for DISNEY OTT): This value is "DISNEY"
Y(PA)
billingAccountobjectBillingAccount reference. A BillingAccount is a detailed description of a bill structure.Y(PA)
billingAccount.idstringUnique identifier of the billing accountY(PA)
billingAccount.contact[]arrayContact details of the billingAccountY(PA)
billingAccount.contact[].contactTypestringcontactType of billingAccountN(PA)
billingAccount.contact[].contactMedium[]arrayMedium of contact for billingAccountY(PA)
billingAccount.contact[].contactMedium[].characteristicobjectCharacteristics of the billingAccount contactMediumY(PA)
billingAccount.contact[].contactMedium[].characteristic.emailAddressstringemail Address to resend the activation linkY(PA)
billingAccount.'@baseType'stringWhen sub-classing, this defines the super-classN(PA)
billingAccount.'@type'stringWhen sub-classing, this defines the sub-class entity name for billingAccountN(PA)
Key considerations
PA Implementation (Bango usecase)
1.. Following are the mandatory fields in the request:
  - productspecification.id (refers to product id)
  - "@type" should always be "OTT"
  - "@baseType" should always be"product"
  - "@referredType" varies based on streaming. For DISNEY streaming value is "DISNEY".
  - billingAccount.contact[].contactMedium[].characteristic.emailAddress (email Address to resend the activation link)
  - billingAccount.id (refers to the billingAccount number)
2. Once entitlement is available in Bango system user will receive Activation URL to the mentioned emailAddress in the request.
Possible Error Scenarios for PA :
IF WE ARE PASSING INVALID '@type' IN REQUEST BODY
{
    "errors": [
        {
            "code": 400,
            "message": "VALIDATION:INVALID_BOOLEAN",
            "description": "Mandatory field @type is not specified or Incorrect value is received. The expected value is OTT"
        }
    ]
}
IF WE ARE PASSING INVALID '@referredType' IN REQUEST BODY
{
    "errors": [
        {
            "code": 400,
            "message": "Bango: Error while creating an entitlement",
            "description": "BAD_REQUEST-ProductKey is invalid."
        }
    ]
}

Reviews